home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 176 / 176.d81 / b.convoy inst (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  10KB  |  226 lines

  1. 10 poke56,56:clr:dv=peek(186):ifdv<8ordv>29thendv=8
  2. 12 poke53371,0
  3. 20 sys57812"convoy font",dv,0:poke780,0:poke781,0:poke782,56:sys65493
  4. 30 dv=peek(186):ifdv<8ordv>29thendv=8
  5. 40 sys57812"convoy mouse",dv,0:poke780,0:poke781,0:poke782,199:sys65493
  6. 50 dv=peek(186):ml=199*256:v=ml+156:sysml:sysml+18,0,39,0,24:sysml+6,704
  7. 60 dimd$(3):d$(0)="[163][164]":d$(1)="[165][166]":d$(2)="[167][168]":d$(3)="[161][162]"
  8. 70 t$="[145][181][182][183][157][157][157][184][185][186][157][157][157][187][188][189][145]":t$="[158][195] "+t$+" [206] [214] "+t$+" [217][144]":b$=chr$(13)
  9. 80 poke53280,6:poke53281,6:print"[147]":poke53272,31:printtab(12);t$
  10. 90 print"  [212]hese are the instructions for the"
  11. 100 print"game [195][207][206][214][207][217]. [213]se a mouse in port 1, a"
  12. 105 print"joystick in port 2, or the cursor and"
  13. 107 print"return keys; all work. [217]ou control a"
  14. 110 print"submarine and the computer controls:":print"   a cargo ship "
  15. 120 print"   an escort ship,":print"   and a destroyer."
  16. 130 print"  [217]our task is to sink the cargo ship"
  17. 140 print"with one of your torpedoes. [217]ou lose if"
  18. 150 print"all your torpedoes miss the cargo ship,"
  19. 160 print"that ship sails to the destination port,";
  20. 170 print"either the escort or the destroyer sail"
  21. 180 print"directly above your sub (where they will";
  22. 190 print"detect it, drop depth charges, and"
  23. 200 print"destroy it), or if you quit.":gosub9800
  24. 210 print"[147]":sysml+30,0,21,0,21,0,20:print"";
  25. 220 fori=1to10:print"[172] [172] [172] [172] [172] [172] [172] [172] [172] [172] ":print"                    ":next
  26. 225 sysml+12,19,19,"[155][163][164][144]":sysml+12,3,4,"[161][162]"
  27. 230 a$="  [144][212]he map is to[136]the left, made up[136]of ten rows of[136]ten dots each,[136]"
  28. 240 a$=a$+"with each dot[136]indicating one[136]square. [212]he[136]computer's ships,[136]"
  29. 250 a$=a$+"being surface[136]ships, are shown[136]just above the[136]dot, while your[136]"
  30. 260 sysml+12,23,0,a$
  31. 270 a$="sub, always[136]submerged, is[136]shown just below[136]the dot. [193]s each[136]"
  32. 280 a$=a$+"square can hold[136]only one surface[136]ship and one sub,[136]you can see each[136]"
  33. 290 a$=a$+"clearly."
  34. 300 sysml+12,23,12,a$:gosub9700
  35. 302 sysml+30,23,39,0,21,32,6
  36. 303 sysml+12,15,15,"[155][167][168][144]":sysml+12,17,17,"[155][165][166][144]"
  37. 304 a$="  [212]he cargo ship[136]always starts[136]from the lower[136]right corner of[136]"
  38. 306 a$=a$+"the map. [201]ts[136]destination port[136]is the upper[136]left corner of[136]"
  39. 308 a$=a$+"the map. [212]he sub[136]always starts[136]just outside that[136]port."
  40. 310 sysml+12,23,0,a$
  41. 312 a$="  [212]he escort ship[136]is always right[136]next to the cargo[136]ship (until you[136]"
  42. 314 a$=a$+"sink one or the[136]other). [212]he[136]destroyer always[136]starts from the[136]"
  43. 316 a$=a$+"same square and[136]sails freely."
  44. 318 sysml+12,23,12,a$:gosub9600
  45. 340 print"[147]  [212]he computer updates the map"
  46. 350 print"automatically, placing the sub symbol in";
  47. 360 print"its current position and the symbol for"
  48. 370 print"each computer ship at its position as"
  49. 380 print"[204][193][211][212] [203][206][207][215][206] [212][207] [212][200][197] [211][213][194][205][193][210][201][206][197][144]. [211]hips that"
  50. 390 print"are destroyed are no longer shown on"
  51. 400 print"the map. "
  52. 410 print"  [212]he sub has several ways to find where";
  53. 420 print"the other ships are, the most important"
  54. 430 print"being the radio message, which"
  55. 440 print"pinpoints the destroyer or cargo ship"
  56. 450 print"positions, and the periscope, which"
  57. 460 print"reveals all surface ships in the eight"
  58. 470 print"nearest neighboring squares. [217]ou get"
  59. 480 print"that information only after the"
  60. 490 print"periscope command. [200]owever, you always"
  61. 500 print"know if the cargo ship ever sails"
  62. 510 print"immediately above your sub (the other"
  63. 515 print"ships will kill you doing that) and you"
  64. 520 print"can identify any ship you torpedo.":gosub9800
  65. 525 print"[147]":a$="[212]ime: 4       [204]=4[136][208]oints: 17600"
  66. 530 sysml+12,23,4,a$:print:print:print"  [201]n the upper right corner of the"
  67. 535 print"screen, you see the time that has"
  68. 540 print"passed, the level, and your current"
  69. 545 print"number of points. [201]t takes time to raise";
  70. 550 print"your periscope and look around, time to"
  71. 555 print"fire your torpedoes, and time to move"
  72. 560 print"the sub; time in which the computer"
  73. 565 print"ships are moving about. [212]here are seven"
  74. 570 print"levels, easy level 1 to hard level 7,"
  75. 575 print"automatically changing to your skill"
  76. 580 print"level; the higher the level, the faster"
  77. 585 print"the computer ships move. [212]he points"
  78. 590 print"reflect your kills, your misses, the"
  79. 595 print"time used, and the level.":gosub9200
  80. 600 print"[147]":a$=d$(2)+" [196]estroyer  1[136]"+d$(1)+" [197]scort     2[136]"
  81. 610 a$=a$+d$(0)+" [195]argo      2[136]"+d$(3)+" [211]ub [169][169][169][169]"
  82. 620 sysml+12,22,7,a$
  83. 630 print:print"  [212]he ship symbols are displayed on the"
  84. 640 print"map and their explanation in the middle"
  85. 650 print"right side of the screen. [212]he symbols"
  86. 660 print"to the right of the submarine show each"
  87. 670 print"of your remaining torpedoes."
  88. 680 print"  [212]he numbers to the right of the"
  89. 690 print"computer ship descriptions tell you"
  90. 700 print"how long ago that ship was last located;";
  91. 710 print"the higher the number, the more likely"
  92. 720 print"the ship has sailed farther from there.":gosub9500
  93. 800 print"[147]"
  94. 810 a$="[144][163][164] [200]ere, [206]ow[136][155][163][164] [144][200]ere, [212]hen"
  95. 830 sysml+12,22,12,a$
  96. 840 print"  [212]he map may show":print"ships of different"
  97. 845 print"colors, depending on"
  98. 850 print"when and how each":print"ship was last":print"detected. [201]ts"
  99. 860 print"position may be":print"known exactly now"
  100. 870 print"or in the past. [194]ut":print"if you had found the"
  101. 880 print"cargo ship but not":print"the escort, you"
  102. 890 print"would know only":print"that the escort was"
  103. 900 print"in one of the":print"neighbor squares around the cargo ship."
  104. 910 print"  [212]he sub always knows whether the"
  105. 920 print"surface above it is occupied by a ship,"
  106. 930 print"but if that ship is [206][207][212] the cargo ship,"
  107. 940 print"then the sub is immediately destroyed.":gosub9400
  108. 1000 print"[147]  [212]he ships are placed in their"
  109. 1010 print"initial positions, then the computer"
  110. 1020 print"ships move. [217]ou then have the options of";
  111. 1030 print"using the periscope, firing a torpedo,"
  112. 1040 print"moving the sub, or ending the game."
  113. 1050 print"[195]lick the pointer over your choice (the"
  114. 1080 print"areas flicker when the pointer is over"
  115. 1090 print"them). [215]hen firing a torpedo (range: [207][206][197][144]";
  116. 1100 print"square, but [206][207][212][144] the same square as the"
  117. 1105 print"submarine) or moving the sub ([207][206][197][144]"
  118. 1107 print"square at a time), pick the square on"
  119. 1110 print"the map in the same manner as above."
  120. 1140 print"[210]adio messages may pinpoint a ship at"
  121. 1150 print"any distance; the periscope sees only"
  122. 1160 print"the sub's square and its 8 neighbors."
  123. 1165 print"  [212]his program provides the instructions";
  124. 1170 print"for [195][207][206][214][207][217], loads it, and runs it. [217]ou"
  125. 1175 print"may also skip these instructions by"
  126. 1180 print"loading and running [195][207][206][214][207][217] directly."
  127. 1190 gosub9300:goto9900
  128. 8999 stop
  129. 9200 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  130. 9210 sysml+12,8,23,"[195]lick [200]ere for [206]ext [208]age":sysml+15,1,4,35,23,23
  131. 9220 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9240
  132. 9230 return
  133. 9240 sysml+30,23,29,4,4,255,8:sysml+30,20,23,8,8,255,8
  134. 9243 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9230
  135. 9246 sysml+30,23,29,4,4,255,0:sysml+30,20,23,8,8,255,0
  136. 9250 sysml+30,37,39,4,4,255,8:sysml+30,12,16,9,9,255,8
  137. 9253 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9230
  138. 9256 sysml+30,37,39,4,4,255,0:sysml+30,12,16,9,9,255,0
  139. 9260 sysml+30,23,35,5,5,255,8:sysml+30,10,15,10,10,255,8
  140. 9263 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9230
  141. 9266 sysml+30,23,35,5,5,255,0:sysml+30,10,15,10,10,255,0
  142. 9280 sysml+24,60:goto9220
  143. 9300 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  144. 9310 sysml+12,8